In the cloud age, in cloud resource orchestration, any items to be deployed and managed as resources are abstracted, for example, their details and deployment steps are specified by an executable code template, and the deployment is realized by a deployment engine. For example, Openstack Heat is a resource orchestration tool which can deploy various complex applications according to a template. Also, traditional Puppet is also an orchestration language where a deployment process of an application is defined by Puppet codes as a template. However, as to the cloud technologies, the growing complexity of Information Technology (IT) infrastructure and software applications, and their continuously shortened time-to-market always require better restoration tools.